#ifndef WORKER_THREAD_H
#define WORKER_THREAD_H

#include "thread_helper.h"

#include <boost/shared_ptr.hpp>
#include <boost/thread.hpp>
#include <boost/function.hpp>
#include <boost/bind.hpp>

namespace network {
	class worker_thread : public network::thread_helper {
	public:
		worker_thread() {}
		virtual ~worker_thread() {}

		virtual void run() = 0; 

		void start_thread();
		void join() {_thread->join();}
	private:
		boost::shared_ptr<boost::thread> _thread;
	};
}

#endif
